Making ProB Compatible with SWI-Prolog
نویسندگان
چکیده
Abstract Even though the core of Prolog programming language has been standardized by ISO since 1995, it remains difficult to write complex programs that can run unmodified on multiple implementations. Indeed, implementations sometimes deviate from standard and itself fails cover many features are essential in practice. Most applications thus have rely nonstandard features, often making them dependent one particular implementation incompatible with others. We examine such application: ProB, which developed for over 20 years SICStus Prolog. The article describes how we managed refactor codebase ProB also support SWI-Prolog, goal verifying ProB’s results using two independent toolchains. This required a multitude adjustments, ranging extending emulation SWI-Prolog better modularizing monolithic codebase. describe notable compatibility issues other differences encountered process, were able deal few major code changes.
منابع مشابه
SWI-Prolog
SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes, primarily for knowledgeintensive and interactive systems. Community contributions have added several interfaces and the constraint (CLP) libraries. Commercial invo...
متن کاملSWI-Prolog version 7 extensions
SWI-Prolog version 7 extends the Prolog language as a general purpose programming language that can be used as ‘glue’ between components written in different languages. Taking this role rather than that of a domain specific language (DSL) inside other IT components has always been the design objective of SWI-Prolog as illustrated by XPCE (its object oriented communication to the OS and graphics...
متن کاملSWISH: SWI-Prolog for Sharing
Recently, we see a new type of interfaces for programmers based on web technology. For example, JSFiddle, IPython Notebook and R-studio. Web technology enables cloud-based solutions, embedding in tutorial web pages, attractive rendering of results, web-scale cooperative development, etc. This article describes SWISH, a web front-end for Prolog. A public website exposes SWIProlog using SWISH, wh...
متن کاملSWI-Prolog and the web
Prolog is an excellent tool for representing and manipulating data written in formal languages as well as natural language. Its safe semantics and automatic memory management make it a prime candidate for programming robust Web services. Where Prolog is commonly seen as a component in a Web application that is either embedded or communicates using a proprietary protocol, we propose an architect...
متن کاملSWI-Speech: An Interface Between SWI-Prolog and Microsoft SAPI
This paper describes the implementation and use of SWI-Speech, an interface between SWI-Prolog and Microsoft SAPI (Speech Application Programming Interface). SWI-Speech is a component of PRONTO (Prolog Natural Language Toolkit), a package created by the Artificial Intelligence Center at the University of Georgia. This paper is divided into a discussion of how to use the current version of SWI-S...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Theory and Practice of Logic Programming
سال: 2022
ISSN: ['1471-0684', '1475-3081']
DOI: https://doi.org/10.1017/s1471068422000230